package com.info.zhiduoduo.repository.entity.system;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableLogic;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 开票内容 分类
 */
@Data
@TableName("zdd_system_invoicecategory")
public class InvoiceCategory extends Model<InvoiceCategory> {


    @TableId(value = "invoice_category_id" , type = IdType.AUTO)
    private Integer invoiceCategoryId;

    /**名称 */
    private String name;

    /** 父类 id */
    private Integer parentid;

    /** 所属公司*/
    private Integer compid;

    /** 删除标志 */
    /** 该注解用于逻辑删除 没有@TableLogic注解调用deleteById/removeById,直接删除数据。
     *  效果:
     *         没有@TableLogic注解调用deleteById/removeById,直接删除数据。
     *             SQL:delete from table where id = 1
     *         有注解走Update方法
     *             SQL：Update table set isDelete = 1 where id = 1
     *   @TableLogic注解参数
     * 　　　　value = "" 未删除的值，默认值为0
     * 　　　　delval = "" 删除后的值，默认值为1
     * 　@TableLogic(value="原值",delval="改值")
     *
     * */
    @TableLogic
    private Integer deleted;

    /**创建时间 */
    private Date createtime;

    /** 修改时间 */
    @TableField(update = "now()")
    private Date updatetime;

    @Override
    protected Serializable pkVal() {
        return invoiceCategoryId;
    }
}
